import { app, ipcMain } from 'electron'

export default (mainWindow) => {
	//处理安装/卸载时在Windows上创建/删除快捷方式。
	// 自动触发
	// if (require('electron-squirrel-startup')) {
	// 	app.quit()
	// }

	//当所有窗口都关闭时退出，除了macOS。在那里，这很常见
	//让应用程序及其菜单栏保持活动状态，直到用户退出
	//显式地使用Cmd + Q。
	// 当所有的窗体都被关闭时
	// 自动触发
	app.on('window-all-closed', () => {
		if (process.platform !== 'darwin') {
			app.quit()
		}
	})

	/**
	 * windowSize: 窗体的大小
	 * width:窗体的宽度
	 * height：窗体的高度
	 * animate：(可选)是否活跃的，只有macOS有效
	 */
	ipcMain.on('onSetWindowSize', (e, width, height, animate) => {
		if (mainWindow.isResizable())
			mainWindow.setSize(width, height, animate)
	})

	// 系统事件
	// ipcMain.on: 监听并处理来自浏览器进程的事件,已读不回
	// ipcMain.handle 监听并处理来自浏览器进程的事件,有来有回

	// 安全退出程序
	ipcMain.on('onAppQuit', () => {
		app.quit()
	})

	// 强制退出程序
	ipcMain.on('onAppExit', () => {
		app.exit(0)
	})

	//最小化窗体
	ipcMain.on('onWindowMin', () => {
		mainWindow.minimize()
	})

	mainWindow.on('minimize', () => {
		// console.log('minimize被激活')
		// console.log('2', mainWindow.getSize())
		// console.log('2', mainWindow.getContentSize())
	})

	//设定窗体是否固定，不允许调整大小
	ipcMain.on('onWindowCanReSize', (e, isCan) => {
		// console.log('开始执行onWindowCanReSize')

		mainWindow.setResizable(isCan)
	})

	/**
	 * 最大化窗体
	 * 返回当前窗体是否是最大化的状态，供前端使用
	 */
	ipcMain.handle('onWindowMax', async () => {
		if (mainWindow.isMaximized()) {
			mainWindow.unmaximize()
		} else {
			mainWindow.maximize()
		}
		return mainWindow.isMaximized()
	})

	// ipcMain.handle('GetAxiox', async () => {
	// 	return createAxios()
	// })
}
